--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / call / tabs / CallVoicemailTab.vue
Displaying Raw • Download
meshchatx/src/frontend/components/call/tabs/CallVoicemailTab.vue 68e6d65c5371c3bd2c85be20f9286a0b4fffdc3d (68e6d65c) Text, 26.41 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3activeTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex-1 flex flex-col max-w-3xl mx-auto w-full pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mb-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3voicemailSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3placeholderTff7b72=Ta5d6ff"Search voicemails..."
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-2 pl-10 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-blue-600 sm:text-sm dark:bg-zinc-900"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onSearchInputTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"magnify" Te6edf3classTff7b72=Ta5d6ff"size-5 text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Voicemail Settings Card -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3configTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"mb-4 border-b border-gray-200 dark:border-zinc-800 overflow-hidden"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full px-4 py-3 flex items-center justify-between hover:bg-gray-50 dark:hover:bg-zinc-800/50 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3isVoicemailSettingsExpanded Tff7b72= Tff7b72!Te6edf3isVoicemailSettingsExpandedTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"cog" Te6edf3classTff7b72=Ta5d6ff"size-5 text-blue-500" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72h3 Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white uppercase tracking-wider"Tb4b4b4>
Voicemail Settings
Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3isVoicemailSettingsExpanded Tff7b72? Ta5d6ff'chevron-up' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-5 text-gray-400"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isVoicemailSettingsExpandedTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"px-4 pb-6 space-y-6"Tb4b4b4>
T8b949e<!-- Status Banner -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3voicemailStatusTb4b4b4.Te6edf3has_espeakTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-4 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 rounded-lg flex gap-3 items-start"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"alert" Te6edf3classTff7b72=Ta5d6ff"size-5 text-amber-600 dark:text-amber-400 shrink-0" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-amber-800 dark:text-amber-200"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"font-bold mb-1"Tb4b4b4>Dependencies MissingTb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72pTb4b4b4>Voicemail requires `espeak-ng` to generate greetings. Please install it on your system.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Enabled Toggle -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-semibold text-gray-900 dark:text-white"Tb4b4b4>Enable VoicemailTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400"Tb4b4b4>
Accept calls automatically and record messages
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3voicemailStatusTb4b4b4.Te6edf3has_espeakTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-hidden disabled:opacity-50 disabled:cursor-not-allowed"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_enabled Tff7b72? Ta5d6ff'bg-blue-600' Tff7b72: Ta5d6ff'bg-gray-200 dark:bg-zinc-700'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{ Te6edf3voicemail_enabledTff7b72: Tff7b72!Te6edf3configTb4b4b4.Te6edf3voicemail_enabled Tb4b4b4}Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-sm ring-0 transition duration-200 ease-in-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_enabled Tff7b72? Ta5d6ff'translate-x-5' Tff7b72: Ta5d6ff'translate-x-0'Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Greeting Text -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-gray-500 dark:text-zinc-400 uppercase tracking-tighter"
Tb4b4b4>Greeting MessageTb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72textarea
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_greetingTa5d6ff"
Te6edf3rowsTff7b72=Ta5d6ff"3"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-2 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-blue-600 sm:text-sm sm:leading-6 dark:bg-zinc-900"
Te6edf3placeholderTff7b72=Ta5d6ff"Enter greeting text..."
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'patch-config'Tb4b4b4, Tb4b4b4{ Te6edf3voicemail_greetingTff7b72: Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3value Tb4b4b4}Tb4b4b4)Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72textareaTb4b4b4>
T8b949e<!-- TTS Settings -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-3 mt-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-500 dark:text-zinc-500 uppercase tracking-tighter"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"call.tts_speed"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_tts_speedTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"80"
Te6edf3maxTff7b72=Ta5d6ff"450"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 text-xs dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{
Te6edf3voicemail_tts_speedTff7b72: Tffa657NumberTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-500 dark:text-zinc-500 uppercase tracking-tighter"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"call.tts_pitch"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_tts_pitchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"0"
Te6edf3maxTff7b72=Ta5d6ff"99"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 text-xs dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{
Te6edf3voicemail_tts_pitchTff7b72: Tffa657NumberTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-500 dark:text-zinc-500 uppercase tracking-tighter"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"call.tts_word_gap"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_tts_word_gapTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"0"
Te6edf3maxTff7b72=Ta5d6ff"100"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 text-xs dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{
Te6edf3voicemail_tts_word_gapTff7b72: Tffa657NumberTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-500 dark:text-zinc-500 uppercase tracking-tighter"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"call.tts_voice"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_tts_voiceTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 text-xs dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{ Te6edf3voicemail_tts_voiceTff7b72: Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3value Tb4b4b4}Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between items-center"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-500 dark:text-zinc-500"Tb4b4b4>
This text will be converted to speech using eSpeak NG.
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tff7b72!Te6edf3voicemailStatusTb4b4b4.Te6edf3has_espeak Tff7b72|| Te6edf3isGeneratingGreetingTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[10px] bg-gray-100 dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 px-3 py-1 rounded-full font-bold hover:bg-gray-200 dark:hover:bg-zinc-700 transition-colors disabled:opacity-50"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'save-and-generate'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3isGeneratingGreeting Tff7b72? Ta5d6ff"Generating..." Tff7b72: Ta5d6ff"Save & Generate" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Custom Greeting Upload -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-gray-500 dark:text-zinc-400 uppercase tracking-tighter"
Tb4b4b4>Custom Audio GreetingTb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-3 flex-wrap"Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3refTff7b72=Ta5d6ff"greetingUpload"
Te6edf3typeTff7b72=Ta5d6ff"file"
Te6edf3acceptTff7b72=Ta5d6ff"audio/*"
Te6edf3classTff7b72=Ta5d6ff"hidden"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'upload-greeting'Tb4b4b4, Te6edf3$eventTb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3isUploadingGreeting Tff7b72|| Te6edf3voicemailStatusTb4b4b4.Te6edf3is_greeting_recordingTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs bg-gray-100 dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 px-4 py-2 rounded-lg font-bold hover:bg-gray-200 dark:hover:bg-zinc-700 transition-colors disabled:opacity-50 flex items-center gap-2"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$refsTb4b4b4.Te6edf3greetingUploadTb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"upload" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3isUploadingGreeting Tff7b72? Ta5d6ff"Uploading..." Tff7b72: Ta5d6ff"Upload Audio File" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"text-xs px-4 py-2 rounded-lg font-bold transition-colors flex items-center gap-2"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3voicemailStatusTb4b4b4.Te6edf3is_greeting_recording
Tff7b72? Ta5d6ff'bg-red-500 text-white animate-pulse'
Tff7b72: Ta5d6ff'bg-gray-100 dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 hover:bg-gray-200 dark:hover:bg-zinc-700'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3voicemailStatusTb4b4b4.Te6edf3is_greeting_recording
Tff7b72? Te6edf3$emitTb4b4b4(Ta5d6ff'stop-recording-greeting'Tb4b4b4)
Tff7b72: Te6edf3$emitTb4b4b4(Ta5d6ff'start-recording-greeting'Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3voicemailStatusTb4b4b4.Te6edf3is_greeting_recording Tff7b72? Ta5d6ff'stop' Tff7b72: Ta5d6ff'microphone'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-4"
Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3voicemailStatusTb4b4b4.Te6edf3is_greeting_recording Tff7b72? Ta5d6ff"Stop Recording" Tff7b72: Ta5d6ff"Record from Mic" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3voicemailStatusTb4b4b4.Te6edf3has_greetingTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"text-xs bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 px-4 py-2 rounded-lg font-bold hover:bg-red-200 dark:hover:bg-red-900/50 transition-colors flex items-center gap-2"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'delete-greeting'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"delete" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Remove Greeting
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3classTff7b72=Ta5d6ff"text-xs bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 px-4 py-2 rounded-lg font-bold hover:bg-blue-200 dark:hover:bg-blue-900/50 transition-colors flex items-center gap-2"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'play-greeting'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3isPlayingGreeting Tff7b72? Ta5d6ff'stop' Tff7b72: Ta5d6ff'play'Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3isPlayingGreeting Tff7b72? Ta5d6ff"Stop Preview" Tff7b72: Ta5d6ff"Preview" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-500 dark:text-zinc-500 italic"Tb4b4b4>
No custom greeting uploaded (default text will be used)
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-500 dark:text-zinc-500"Tb4b4b4>
Supports MP3, OGG, WAV, M4A, FLAC. Will be converted to Opus.
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- Delays -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-gray-500 dark:text-zinc-400 uppercase tracking-tighter"
Tb4b4b4>Answer Delay (s)Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_auto_answer_delay_secondsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"1"
Te6edf3maxTff7b72=Ta5d6ff"120"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1.5 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 sm:text-sm dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{
Te6edf3voicemail_auto_answer_delay_secondsTff7b72: Tffa657NumberTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-gray-500 dark:text-zinc-400 uppercase tracking-tighter"
Tb4b4b4>Max Recording (s)Tb4b4b4<Tb4b4b4/Tff7b72label
Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3configTb4b4b4.Te6edf3voicemail_max_recording_secondsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"number"
Te6edf3minTff7b72=Ta5d6ff"5"
Te6edf3maxTff7b72=Ta5d6ff"600"
Te6edf3classTff7b72=Ta5d6ff"block w-full rounded-lg border-0 py-1.5 text-gray-900 dark:text-white shadow-xs ring-1 ring-inset ring-gray-300 dark:ring-zinc-800 focus:ring-2 focus:ring-inset focus:ring-blue-600 sm:text-sm dark:bg-zinc-900"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(Ta5d6ff'update-config'Tb4b4b4, Tb4b4b4{
Te6edf3voicemail_max_recording_secondsTff7b72: Tffa657NumberTb4b4b4(Te6edf3$eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3voicemailsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"my-auto text-center"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bg-gray-200 dark:bg-zinc-800 p-6 rounded-full inline-block mb-4"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"voicemail" Te6edf3classTff7b72=Ta5d6ff"size-12 text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72h3 Te6edf3classTff7b72=Ta5d6ff"text-lg font-medium text-gray-900 dark:text-white"Tb4b4b4>No VoicemailsTb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-zinc-400"Tb4b4b4>When people leave you messages, they'll show up here.Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"border-b border-gray-200 dark:border-zinc-800 overflow-hidden"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"px-4 py-3 border-b border-gray-200 dark:border-zinc-800 flex justify-between items-center"Tb4b4b4>
Tb4b4b4<Tff7b72h3 Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white uppercase tracking-wider"Tb4b4b4>
Voicemail Inbox
Tb4b4b4<Tb4b4b4/Tff7b72h3Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[10px] bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400 px-2 py-0.5 rounded-full font-bold uppercase"
Tb4b4b4>
Tff7b72{{ Te6edf3voicemailsTb4b4b4.Te6edf3length Tff7b72}} Messages
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"divide-y divide-gray-100 dark:divide-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3voicemail Tff7b72in Te6edf3voicemailsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3voicemailTb4b4b4.Te6edf3idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"px-4 py-4 hover:bg-gray-50 dark:hover:bg-zinc-800/50 transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{ Ta5d6ff'bg-blue-50/50 dark:bg-blue-900/10'Tff7b72: Tff7b72!Te6edf3voicemailTb4b4b4.Te6edf3is_read Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-start space-x-4"Tb4b4b4>
T8b949e<!-- Icon / Play/Pause Button -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72LxmfUserIcon
Tb4b4b4:Te6edf3custom-imageTff7b72=Ta5d6ff"Te6edf3getContactByHashTb4b4b4(Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_hashTb4b4b4)Tff7b72?Tb4b4b4.Te6edf3custom_imageTa5d6ff"
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3voicemailTb4b4b4.Te6edf3remote_icon Tff7b72? Te6edf3voicemailTb4b4b4.Te6edf3remote_iconTb4b4b4.Te6edf3icon_name Tff7b72: Ta5d6ff''Ta5d6ff"
Tb4b4b4:Te6edf3icon-foreground-colourTff7b72=Ta5d6ff"
Te6edf3voicemailTb4b4b4.Te6edf3remote_icon Tff7b72? Te6edf3voicemailTb4b4b4.Te6edf3remote_iconTb4b4b4.Te6edf3foreground_colour Tff7b72: Ta5d6ff''
Ta5d6ff"
Tb4b4b4:Te6edf3icon-background-colourTff7b72=Ta5d6ff"
Te6edf3voicemailTb4b4b4.Te6edf3remote_icon Tff7b72? Te6edf3voicemailTb4b4b4.Te6edf3remote_iconTb4b4b4.Te6edf3background_colour Tff7b72: Ta5d6ff''
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-10"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between mb-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center min-w-0 mr-2"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white truncate"Tb4b4b4>
Tff7b72{{ Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_name Tff7b72|| Te6edf3$tTb4b4b4(Ta5d6ff"call.unknown"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3voicemailTb4b4b4.Te6edf3is_readTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"ml-2 shrink-0 size-2 inline-block rounded-full bg-blue-500"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-500 dark:text-zinc-500 font-mono shrink-0"Tb4b4b4>
Tff7b72{{ Te6edf3formatDateTimeTb4b4b4(Te6edf3voicemailTb4b4b4.Te6edf3timestamp Tff7b72* T79c0ff1000Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center text-xs text-gray-500 dark:text-zinc-400 space-x-3 mb-3"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"clock-outline" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3formatDurationTb4b4b4(Te6edf3voicemailTb4b4b4.Te6edf3duration_secondsTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"opacity-60 font-mono text-[10px] truncate cursor-pointer hover:text-blue-500 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_hashTa5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'copy-hash'Tb4b4b4, Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3formatDestinationHashTb4b4b4(Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_hashTb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mb-4"Tb4b4b4>
Tb4b4b4<Tff7b72AudioWaveformPlayer
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ff/api/v1/telephone/voicemails/Tffd700${Te6edf3voicemailTb4b4b4.Te6edf3idTffd700}Ta5d6ff/audioTa5d6ff`Ta5d6ff"
Tb4b4b4@Te6edf3playTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'mark-read'Tb4b4b4, Te6edf3voicemailTb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-[10px] flex items-center gap-1 text-gray-500 hover:text-blue-500 font-bold uppercase tracking-wider transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3$emitTb4b4b4(
Ta5d6ff'call-back'Tb4b4b4,
Te6edf3voicemailTb4b4b4.Te6edf3remote_telephony_hash Tff7b72||
Te6edf3voicemailTb4b4b4.Te6edf3remote_destination_hash Tff7b72||
Te6edf3voicemailTb4b4b4.Te6edf3remote_identity_hash
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"phone" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Call Back
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72a
Tb4b4b4:Te6edf3hrefTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ff/api/v1/telephone/voicemails/Tffd700${Te6edf3voicemailTb4b4b4.Te6edf3idTffd700}Ta5d6ff/audioTa5d6ff`Ta5d6ff"
Tb4b4b4:Te6edf3downloadTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffvoicemail_Tffd700${Te6edf3voicemailTb4b4b4.Te6edf3idTffd700}Ta5d6ff.opusTa5d6ff`Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[10px] flex items-center gap-1 text-gray-500 hover:text-blue-500 font-bold uppercase tracking-wider transition-colors"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"download" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Download
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-[10px] flex items-center gap-1 text-red-500 hover:text-red-600 font-bold uppercase tracking-wider transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$emitTb4b4b4(Ta5d6ff'delete'Tb4b4b4, Te6edf3voicemailTb4b4b4.Te6edf3idTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"delete" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Delete
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3LxmfUserIcon Tff7b72from Ta5d6ff"../../LxmfUserIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3AudioWaveformPlayer Tff7b72from Ta5d6ff"../../messages/AudioWaveformPlayer.vue"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"CallVoicemailTab"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3LxmfUserIconTb4b4b4,
Te6edf3AudioWaveformPlayerTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3activeTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3voicemailSearchTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657StringTb4b4b4,
Tff7b72defaultTff7b72: Ta5d6ff""Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3configTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3voicemailStatusTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Tff7b72defaultTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3voicemailsTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ArrayTb4b4b4,
Tff7b72defaultTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isGeneratingGreetingTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isUploadingGreetingTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isPlayingGreetingTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3getContactByHashTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657FunctionTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3formatDateTimeTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657FunctionTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3formatDurationTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657FunctionTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3formatDestinationHashTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657FunctionTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3emitsTff7b72: Tb4b4b4[
Ta5d6ff"update:voicemailSearch"Tb4b4b4,
Ta5d6ff"search-input"Tb4b4b4,
Ta5d6ff"update-config"Tb4b4b4,
Ta5d6ff"patch-config"Tb4b4b4,
Ta5d6ff"save-and-generate"Tb4b4b4,
Ta5d6ff"upload-greeting"Tb4b4b4,
Ta5d6ff"start-recording-greeting"Tb4b4b4,
Ta5d6ff"stop-recording-greeting"Tb4b4b4,
Ta5d6ff"delete-greeting"Tb4b4b4,
Ta5d6ff"play-greeting"Tb4b4b4,
Ta5d6ff"copy-hash"Tb4b4b4,
Ta5d6ff"mark-read"Tb4b4b4,
Ta5d6ff"call-back"Tb4b4b4,
Ta5d6ff"delete"Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3isVoicemailSettingsExpandedTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3onSearchInputTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"update:voicemailSearch"Tb4b4b4, Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"search-input"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────